
const axios = require("axios");
const logger = require("./logger");

const url = process.env.NOTIFICATION_API;
const webhook = process.env.NOTIFICATION_WEBHOOK;

// 通知机器人：
// 使用文档：
// 	请求方式：post
// 	请求参数：
// 		name: '项目名',
// desc: '项目描述', //(可选)
// info: '提示信息',
//  receiver: '提醒用户', //(可选)
// robot_webhook: '企业微信机器人webhook地址'
// 注意：
// robot_webhook格式：
// ['https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=********', ......]
// receiver格式：
// 手机号列表，提醒手机号对应的群成员(@某个成员)，@all表示提醒所有人，例如：["13800001111","@all"]
const receivers = process.env.NODE_ENV === "production" ? ["@all"] : [];
async function notification(name, desc, info, receiver = receivers) {
  try {
    await axios({
      method: "post",
      url: url,
      data: {
        name: name,
        desc: desc,
        info: info,
        receiver: receiver,
        robot_webhook: [webhook],
      },
    });
    logger.info(`通知机器人成功，信息：${name} ${desc} ${info}`);
  } catch (error) {
    logger.error(`通知机器人失败：${error}`);
  }
}

module.exports = notification;
